Skip to content

Add Skeleton Loaders for Pages During Data Fetch - #22

Merged
yash-pouranik merged 5 commits into
geturbackend:mainfrom
muktijain:skeleton
Jan 15, 2026
Merged

Add Skeleton Loaders for Pages During Data Fetch#22
yash-pouranik merged 5 commits into
geturbackend:mainfrom
muktijain:skeleton

Conversation

@muktijain

@muktijain muktijain commented Jan 12, 2026

Copy link
Copy Markdown
Contributor

🚀 Pull Request Description

Fixes # (#7 )

Summary

Replaced blank screens and "Loading..." text with skeleton loaders to improve the loading experience across the app.

Changes

  • Added skeleton loaders for project cards on the Dashboard
  • Implemented skeleton placeholders for usage charts on the Analytics page

Why

This makes loading states feel smoother and more responsive, especially on slower network connections.

Screenshots :

Dashboard
dashboard

Analytics
Analytics


Summary by CodeRabbit

  • New Features

    • Added skeleton loaders with animated shimmer across pages to improve loading feedback.
    • Replaced previous loading indicators with conditional skeleton rendering while content loads.
    • Loading flows now show skeleton placeholders, preserve existing content when loaded, and keep no-content placeholders.
  • Chores

    • Added a backend environment configuration file for local development.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel

vercel Bot commented Jan 12, 2026

Copy link
Copy Markdown
Contributor

@muktijain is attempting to deploy a commit to the Yash Pouranik's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jan 12, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Adds inline SkeletonLoader components and shimmer/CSS to Analytics.jsx and Dashboard.jsx, replacing previous loading indicators with conditional rendering to show skeleton UI while data is loading. Also adds a new .env file under urBackend/backend with environment variables.

Changes

Cohort / File(s) Summary
Skeleton loading in pages
frontend/src/pages/Analytics.jsx, frontend/src/pages/Dashboard.jsx
Add local SkeletonLoader React components and inline skeleton CSS (skeleton, shimmer). Replace early-return/text loading indicators with conditional rendering that shows skeletons when isLoading; preserve existing loaded-state rendering. Dashboard retains explicit empty-state ("no projects") path.
Backend env config
urBackend/backend/.env
Add new environment configuration file with server, DB, auth, third-party keys, and frontend URL variables. No code logic changes.

Sequence Diagram(s)

(omitted — changes are UI-focused and do not introduce multi-component sequential flows requiring a diagram)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related issues

Poem

🐰
I hop in code with tiny paws,
I lay soft shimmer where the waiting was.
Cards blink bright in gentle rows,
while data wakes and starlight grows.
Hooray — the skeletons applaud!

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add Skeleton Loaders for Pages During Data Fetch' accurately describes the main changes across the pull request—introducing skeleton loaders to the Analytics, Dashboard, and Overview pages to improve loading states.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In @frontend/src/pages/Analytics.jsx:
- Around line 104-106: The render can crash when the API fails because loading
becomes false but data stays null; update the component to track an error state
(e.g., add error / setError alongside data and loading), set error = true inside
the fetch catch block, and then change the render branch that currently shows
SkeletonLoader to also handle error/null data by returning an error UI or
fallback (e.g., if (error || !data) show an error message or fallback
component). Alternatively (or in addition), guard individual accesses by using
optional chaining for properties like data?.totalRequests, data?.storage,
data?.someField when rendering to prevent runtime throws; reference the existing
variables data, loading, SkeletonLoader and the fetch/catch logic to implement
these changes.

In @frontend/src/pages/Dashboard.jsx:
- Around line 302-306: The @keyframes shimmer in Dashboard.jsx ends with left:
50%, causing a shorter sweep than Analytics.jsx; update the Dashboard @keyframes
shimmer final keyframe to match Analytics by changing the 100% rule from left:
50% to left: 150% so both pages use the same full-sweep shimmer animation (look
for the @keyframes shimmer block in Dashboard.jsx and mirror the final left
value used in Analytics.jsx).
- Around line 273-284: There are two conflicting `.skeleton` rules; consolidate
them into one by removing the duplicate and merging properties (keep `position:
relative;`, `overflow: hidden;` and a single `background` value — prefer
`rgba(255,255,255,0.05)` since it currently overrides the earlier value); ensure
`.skeleton-text { border-radius: 2px; }` stays separate and unchanged so only
one `.skeleton` selector remains with all necessary styles.
🧹 Nitpick comments (3)
frontend/src/pages/Analytics.jsx (2)

35-68: Move SkeletonLoader outside the component to avoid recreation on every render.

Defining SkeletonLoader as a function inside Analytics means it's recreated on each render. Since it has no dependencies on component state or props, extract it outside or memoize it.

♻️ Suggested refactor
+const SkeletonLoader = () => (
+    <div className="container" style={{ maxWidth: '1200px', margin: '0 auto', paddingBottom: '4rem' }}>
+        {/* Stats Cards Skeleton */}
+        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))', gap: '1.5rem', marginBottom: '2rem' }}>
+            {[1,2,3].map(i => (
+                <div key={i} className="card" style={{ padding: '1rem', position: 'relative' }}>
+                    <div className="skeleton skeleton-text" style={{ width: '40%', height: '16px' }} />
+                    <div className="skeleton skeleton-text" style={{ width: '60%', height: '36px', marginTop: '8px' }} />
+                    <div className="skeleton skeleton-text" style={{ width: '100%', height: '6px', marginTop: '12px' }} />
+                </div>
+            ))}
+        </div>
+        {/* ... rest of skeleton */}
+    </div>
+);
+
 export default function Analytics() {
     // ...
-    const SkeletonLoader = () => (
-        // ...
-    );

290-313: Skeleton CSS is duplicated across pages.

The .skeleton and shimmer animation styles are repeated in both Analytics.jsx and Dashboard.jsx. Consider extracting these to a shared CSS file or a reusable component to reduce duplication and ensure consistency.

Additionally, there's a subtle inconsistency: Dashboard.jsx animates to left: 50% while this file animates to left: 150%, which will produce different shimmer effects.

frontend/src/pages/Dashboard.jsx (1)

33-50: Move SkeletonLoader outside the component.

Same issue as in Analytics.jsx: defining SkeletonLoader inside Dashboard causes unnecessary recreation on every render. Extract it to module scope since it doesn't depend on any props or state.

As per the relevant snippets, Database.jsx also has a SkeletonLoader. Consider creating a shared skeleton component library (e.g., components/skeletons/) to promote reuse and reduce duplication across pages.

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c975d8a and 28cd57e.

⛔ Files ignored due to path filters (2)
  • backend/package-lock.json is excluded by !**/package-lock.json
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (2)
  • frontend/src/pages/Analytics.jsx
  • frontend/src/pages/Dashboard.jsx
🧰 Additional context used
🧬 Code graph analysis (2)
frontend/src/pages/Analytics.jsx (2)
frontend/src/pages/Dashboard.jsx (1)
  • SkeletonLoader (33-50)
frontend/src/pages/Database.jsx (1)
  • SkeletonLoader (254-262)
frontend/src/pages/Dashboard.jsx (3)
frontend/src/pages/Analytics.jsx (1)
  • SkeletonLoader (35-68)
frontend/src/pages/Database.jsx (1)
  • SkeletonLoader (254-262)
frontend/src/pages/Login.jsx (1)
  • isLoading (11-11)
🔇 Additional comments (1)
frontend/src/pages/Dashboard.jsx (1)

128-129: LGTM!

The conditional rendering logic correctly handles loading, empty, and populated states in a clean ternary chain.

Comment on lines +104 to +106
{loading ? (
<SkeletonLoader />
) : (

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Potential crash if API call fails: data remains null but loading becomes false.

When the fetch fails, loading is set to false in the finally block (line 26), but data stays null. The rendered content then attempts to access data.totalRequests, data.storage, etc. (lines 120, 133, 136, etc.), causing a runtime error.

🐛 Suggested fix: add error state or null guard
 const [data, setData] = useState(null);
 const [loading, setLoading] = useState(true);
+const [error, setError] = useState(null);
 const [refreshing, setRefreshing] = useState(false);

 const fetchData = useCallback(async () => {
     try {
         setRefreshing(true);
+        setError(null);
         const res = await axios.get(`${API_URL}/api/projects/${projectId}/analytics`, {
             headers: { Authorization: `Bearer ${token}` }
         });
         setData(res.data);
     } catch (err) {
         console.error(err);
+        setError(err);
     } finally {
         setLoading(false);
         setRefreshing(false);
     }
 }, [projectId, token]);

Then in the render:

-{loading ? (
+{loading ? (
     <SkeletonLoader />
+) : error ? (
+    <div>Failed to load analytics. Please try again.</div>
 ) : (
🤖 Prompt for AI Agents
In @frontend/src/pages/Analytics.jsx around lines 104 - 106, The render can
crash when the API fails because loading becomes false but data stays null;
update the component to track an error state (e.g., add error / setError
alongside data and loading), set error = true inside the fetch catch block, and
then change the render branch that currently shows SkeletonLoader to also handle
error/null data by returning an error UI or fallback (e.g., if (error || !data)
show an error message or fallback component). Alternatively (or in addition),
guard individual accesses by using optional chaining for properties like
data?.totalRequests, data?.storage, data?.someField when rendering to prevent
runtime throws; reference the existing variables data, loading, SkeletonLoader
and the fetch/catch logic to implement these changes.

Comment thread frontend/src/pages/Dashboard.jsx Outdated
Comment on lines +273 to +284
.skeleton {
background: rgba(255, 255, 255, 0.03);
}

.skeleton-text {
border-radius: 2px;
}
.skeleton {
position: relative;
overflow: hidden;
background: rgba(255,255,255,0.05);
}

@coderabbitai coderabbitai Bot Jan 12, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Duplicate .skeleton selector with conflicting values.

The .skeleton class is defined twice with different background values. The second definition (line 283: rgba(255,255,255,0.05)) overwrites the first (line 274: rgba(255,255,255,0.03)). Consolidate into a single rule.

🔧 Suggested fix
-                .skeleton {
-                    background: rgba(255, 255, 255, 0.03);
-                }
-
-                .skeleton-text {
-                    border-radius: 2px;
-                }
-                .skeleton {
-                    position: relative;
-                    overflow: hidden;
-                    background: rgba(255,255,255,0.05);
-                }
+                .skeleton {
+                    position: relative;
+                    overflow: hidden;
+                    background: rgba(255,255,255,0.05);
+                    border-radius: 4px;
+                }
+
+                .skeleton-text {
+                    border-radius: 2px;
+                }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.skeleton {
background: rgba(255, 255, 255, 0.03);
}
.skeleton-text {
border-radius: 2px;
}
.skeleton {
position: relative;
overflow: hidden;
background: rgba(255,255,255,0.05);
}
.skeleton {
position: relative;
overflow: hidden;
background: rgba(255,255,255,0.05);
border-radius: 4px;
}
.skeleton-text {
border-radius: 2px;
}
🤖 Prompt for AI Agents
In @frontend/src/pages/Dashboard.jsx around lines 273 - 284, There are two
conflicting `.skeleton` rules; consolidate them into one by removing the
duplicate and merging properties (keep `position: relative;`, `overflow:
hidden;` and a single `background` value — prefer `rgba(255,255,255,0.05)` since
it currently overrides the earlier value); ensure `.skeleton-text {
border-radius: 2px; }` stays separate and unchanged so only one `.skeleton`
selector remains with all necessary styles.

✅ Addressed in commit 551b376

Comment thread frontend/src/pages/Dashboard.jsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@vercel

vercel Bot commented Jan 12, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
ur-backend Ready Ready Preview, Comment Jan 15, 2026 2:10pm

@yash-pouranik

Copy link
Copy Markdown
Member

chk ur pr live here - https://ur-backend-git-fork-muktijain-skeleton-yash-pouraniks-projects.vercel.app/project/692a0f26dfde95b8fcbf235f

Thanku @muktijain for the PR i looked the new UI its really very good.

one last thing if u have time or u could do-
same skeleton or for the overview page to?? so that i dont have to create a new issue for this small change?

just let me know if u are available, if yes then do, and if not then i will merge it.

All the best

image

@muktijain

muktijain commented Jan 13, 2026 via email

Copy link
Copy Markdown
Contributor Author

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@urBackend/backend/.env`:
- Around line 1-21: This .env file containing secrets was committed accidentally
and is unrelated to the frontend skeleton-loader work; remove it from the PR,
replace it with a safe template, and ensure it is ignored: delete
urBackend/backend/.env from the branch (git rm), add a
urBackend/backend/.env.example with the same keys but placeholder values, add
urBackend/backend/.env to .gitignore, and update README to instruct developers
to copy .env.example to .env and populate secrets locally; if backend config
truly belongs in a separate change, move these changes into a dedicated PR after
applying the above.
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 551b376 and 1241b1f.

⛔ Files ignored due to path filters (295)
  • urBackend/backend/node_modules/.bin/baseline-browser-mapping is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/baseline-browser-mapping.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/baseline-browser-mapping.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/bcrypt is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/bcrypt.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/bcrypt.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/browserslist is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/browserslist.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/browserslist.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/cross-env is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/cross-env-shell is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/cross-env-shell.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/cross-env-shell.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/cross-env.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/cross-env.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/esparse is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/esparse.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/esparse.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/esvalidate is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/esvalidate.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/esvalidate.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/glob is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/glob.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/glob.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/import-local-fixture is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/import-local-fixture.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/import-local-fixture.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/jest is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/jest.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/jest.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/js-yaml is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/js-yaml.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/js-yaml.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/jsesc is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/jsesc.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/jsesc.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/json5 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/json5.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/json5.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/mime is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/mime.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/mime.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/mkdirp is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/mkdirp.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/mkdirp.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/napi-postinstall is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/napi-postinstall.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/napi-postinstall.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/node-which is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/node-which.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/node-which.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/parser is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/parser.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/parser.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/semver is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/semver.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/semver.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/update-browserslist-db is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/update-browserslist-db.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/update-browserslist-db.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/uuid is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/uuid.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.bin/uuid.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/.package-lock.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/code-frame/LICENSE is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/code-frame/README.md is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/code-frame/lib/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/code-frame/lib/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/code-frame/package.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/LICENSE is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/README.md is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/corejs2-built-ins.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/corejs3-shipped-proposals.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/data/corejs2-built-ins.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/data/native-modules.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/data/overlapping-plugins.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/data/plugin-bugfixes.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/data/plugins.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/native-modules.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/overlapping-plugins.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/package.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/plugin-bugfixes.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/compat-data/plugins.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/LICENSE is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/README.md is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/cache-contexts.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/cache-contexts.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/caching.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/caching.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/config-chain.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/config-chain.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/config-descriptors.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/config-descriptors.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/files/configuration.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/files/configuration.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/files/import.cjs is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/files/import.cjs.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/files/index-browser.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/files/index-browser.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/files/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/files/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/files/module-types.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/files/module-types.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/files/package.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/files/package.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/files/plugins.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/files/plugins.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/files/types.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/files/types.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/files/utils.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/files/utils.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/full.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/full.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/helpers/config-api.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/helpers/config-api.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/helpers/deep-array.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/helpers/deep-array.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/helpers/environment.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/helpers/environment.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/item.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/item.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/partial.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/partial.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/pattern-to-regex.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/pattern-to-regex.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/plugin.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/plugin.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/printer.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/printer.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/resolve-targets-browser.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/resolve-targets.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/resolve-targets.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/util.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/util.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/validation/option-assertions.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/validation/option-assertions.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/validation/options.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/validation/options.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/validation/plugins.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/validation/plugins.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/config/validation/removed.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/config/validation/removed.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/errors/config-error.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/errors/config-error.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/gensync-utils/async.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/gensync-utils/async.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/gensync-utils/fs.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/gensync-utils/fs.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/gensync-utils/functional.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/gensync-utils/functional.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/parse.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/parse.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/parser/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/parser/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/tools/build-external-helpers.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/tools/build-external-helpers.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transform-ast.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transform-ast.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transform-file-browser.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transform-file-browser.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transform-file.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transform-file.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transform.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transform.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/file/file.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/file/file.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/file/generate.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/file/generate.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/file/merge-map.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/file/merge-map.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/normalize-file.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/normalize-file.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/normalize-opts.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/normalize-opts.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/plugin-pass.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/plugin-pass.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/transformation/util/clone-deep.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/lib/vendor/import-meta-resolve.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/core/node_modules/.bin/semver is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/node_modules/.bin/semver.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/node_modules/.bin/semver.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/node_modules/semver/LICENSE is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/node_modules/semver/README.md is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/node_modules/semver/bin/semver.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/node_modules/semver/package.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/node_modules/semver/range.bnf is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/node_modules/semver/semver.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/package.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/src/config/files/index-browser.ts is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/src/config/files/index.ts is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/src/config/resolve-targets-browser.ts is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/src/config/resolve-targets.ts is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/src/transform-file-browser.ts is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/core/src/transform-file.ts is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/LICENSE is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/README.md is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/buffer.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/buffer.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/base.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/base.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/classes.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/classes.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/deprecated.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/deprecated.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/expressions.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/expressions.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/flow.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/flow.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/jsx.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/jsx.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/methods.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/methods.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/modules.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/modules.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/statements.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/statements.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/template-literals.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/template-literals.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/types.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/types.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/generators/typescript.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/generators/typescript.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/node/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/node/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/node/parentheses.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/node/parentheses.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/node/whitespace.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/node/whitespace.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/printer.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/printer.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/source-map.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/source-map.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/lib/token-map.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/generator/lib/token-map.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/generator/package.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/LICENSE is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/README.md is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/debug.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/debug.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/filter-items.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/index.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/index.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/options.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/options.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/pretty.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/targets.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/targets.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/utils.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/lib/utils.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver.cmd is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver.ps1 is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/node_modules/semver/LICENSE is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/node_modules/semver/README.md is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/node_modules/semver/bin/semver.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/node_modules/semver/package.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/node_modules/semver/range.bnf is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/node_modules/semver/semver.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-compilation-targets/package.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-globals/LICENSE is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-globals/README.md is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-globals/data/browser-upper.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-globals/data/builtin-lower.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-globals/data/builtin-upper.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-globals/package.json is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-module-imports/LICENSE is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-module-imports/README.md is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-module-imports/lib/import-builder.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-module-imports/lib/import-builder.js.map is excluded by !**/node_modules/**, !**/*.map
  • urBackend/backend/node_modules/@babel/helper-module-imports/lib/import-injector.js is excluded by !**/node_modules/**
  • urBackend/backend/node_modules/@babel/helper-module-imports/lib/import-injector.js.map is excluded by !**/node_modules/**, !**/*.map
📒 Files selected for processing (1)
  • urBackend/backend/.env
🧰 Additional context used
🪛 dotenv-linter (4.0.0)
urBackend/backend/.env

[warning] 3-3: [UnorderedKey] The NODE_ENV key should go before the PORT key

(UnorderedKey)


[warning] 10-10: [UnorderedKey] The ENCRYPTION_KEY key should go before the JWT_SECRET key

(UnorderedKey)


[warning] 11-11: [UnorderedKey] The API_KEY_SALT key should go before the ENCRYPTION_KEY key

(UnorderedKey)


[warning] 15-15: [UnorderedKey] The SUPABASE_KEY key should go before the SUPABASE_URL key

(UnorderedKey)


[warning] 16-16: [UnorderedKey] The RESEND_API_KEY key should go before the SUPABASE_KEY key

(UnorderedKey)

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment thread urBackend/backend/.env Outdated
@yash-pouranik
yash-pouranik merged commit fbf57ff into geturbackend:main Jan 15, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: implement skeleton loading states for data-heavy pages

2 participants